package com.tju.resource.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * @TableName tb_send_matl
 */
@TableName(value = "tb_send_matl")
@Data
public class TbSendMatl implements Serializable {
    /**
     * 发料id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 生产计划id
     */
    private Long ppId;
    /**
     * 生产计划数
     */
    @TableField(exist = false)
    private Long planNumber;
    /**
     * 出货id
     */
    private Long shipmentId;
    /**
     * 外发id
     */
    private Long outwardId;
    /**
     * 耗材id
     */
    private Long consumablesId;

    /**
     * 原材料id
     */
    private Long rmId;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 审核人
     */
    private String approveBy;

    /**
     * 审核状态(0:未审核1:已审核)
     */
    private Integer approveStatus;
    /**
     * 审核时间
     */
    private Date approveTime;
    /**
     * 物料来源
     */
    private String matlSrc;

    /**
     * 备注
     */
    private String remark;
    /**
     * 指令号
     */
    @TableField(exist = false)
    private String cmdNumber;
    /**
     * 订单号
     */
    @TableField(exist = false)
    private String orderNumber;
    /**
     * 生产型号
     */
    @TableField(exist = false)
    private String specNumber;
    /**
     * 物料名称
     */
    @TableField(exist = false)
    private String matlName;
    /**
     * 物料编号
     */
    @TableField(exist = false)
    private String matlNumber;
    /**
     * 物料水口重
     */
    @TableField(exist = false)
    private Double wdWeight;
    /**
     * 物料单重
     */
    @TableField(exist = false)
    private Double matlWeight;
    /**
     * 物料单重单位
     */
    @TableField(exist = false)
    private String matlUnit;
    /**
     * 原材料编号
     */
    @TableField(exist = false)
    private String rmNo;
    /**
     * 原材料名称
     */
    @TableField(exist = false)
    private String rmName;
    /**
     * 原材料使用数量
     */
    @TableField(exist = false)
    private Long rmRadio;
    /**
     * 原料比重
     */
    @TableField(exist = false)
    private Double rmFmWg;
    /**
     * 原料所需总重
     */
    @TableField(exist = false)
    private Double rmTotalWeight;
    /**
     * 原料类型(0:原料,2:其他)
     */
    @TableField(exist = false)
    private Integer rmType;

    /**
     * 	原料单重单位
     */
    @TableField(exist = false)
    private String rmUnit;
    /**
     * 原料库存
     */
    @TableField(exist = false)
    private Double rmStoke;
    /**
     * 耗材名称
     */
    @TableField(exist = false)
    private String costMatlName;
    /**
     * 耗材规格
     */
    @TableField(exist = false)
    private String tcGauge;
    /**
     * 耗材数量
     */
    @TableField(exist = false)
    private Long costMatlNumber;
    /**
     * 耗材库存
     */
    @TableField(exist = false)
    private Integer number;
    /**
     * 耗材比数
     */
    @TableField(exist = false)
    private Integer matlCount;

    /**
     * 生产计划耗材数
     */
    @TableField(exist = false)
    private Long ppMatlNumber;
    /**
     * 生产计划耗材比数
     */
    @TableField(exist = false)
    private Long ppCount;
    /**
     * 发料类型(0:原材料1:耗材)
     */
    private int type;
    /**
     * 出货耗材数量
     */
    @TableField(exist = false)
    private Long shipmentMaterialNumber;
    /**
     * 外发耗材数量
     */
    @TableField(exist = false)
    private Long usageAmount;

    public TbSendMatl() {
    }

    public TbSendMatl(Long outwardId, Long consumablesId, String matlSrc,int type,String createBy) {
        this.outwardId = outwardId;
        this.consumablesId = consumablesId;
        this.matlSrc = matlSrc;
        this.type=type;
        this.createBy=createBy;
    }

    /**
     * 出货关联耗材的id
     */
    @TableField(exist = false)
    private Long shipConsumablesId;
    /**
     * 物料关联耗材的id
     */
    @TableField(exist = false)
    private Long matlConsumablesId;
    /**
     * 生产计划关联耗材id
     */
    @TableField(exist = false)
    private Long ppConsumablesId;
    /**
     * 外发关联耗材的id
     */
    @TableField(exist = false)
    private Long outConsumablesId;
    /**
     * 物料关联原材料id
     */
    @TableField(exist = false)
    private Long ppMaliRmId;





}